using System;
using System.Collections.Generic;
using ns26;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("QuestToast")]
	public class QuestToast : MonoBehaviour
	{
		[Attribute38("QuestToast.ToastCallbackData")]
		public class ToastCallbackData : MonoClass
		{
			public object m_onCloseCallbackData => method_3<object>("m_onCloseCallbackData");

			public List<RewardData> m_toastRewards => method_3<Class271<RewardData>>("m_toastRewards")?.method_25();

			public string m_toastName => method_4("m_toastName");

			public string m_toastDescription => method_4("m_toastDescription");

			public bool m_updateCacheValues => method_2<bool>("m_updateCacheValues");

			public Achievement m_quest => method_3<Achievement>("m_quest");

			public ToastCallbackData(IntPtr address, string className)
				: base(address, className)
			{
			}

			public ToastCallbackData(IntPtr address)
				: this(address, "ToastCallbackData")
			{
			}
		}

		public UberText m_questName => method_3<UberText>("m_questName");

		public GameObject m_nameLine => method_3<GameObject>("m_nameLine");

		public UberText m_requirement => method_3<UberText>("m_requirement");

		public Transform m_rewardBone => method_3<Transform>("m_rewardBone");

		public PegUIElement m_clickCatcher => method_3<PegUIElement>("m_clickCatcher");

		public Vector3 m_rewardScale => method_2<Vector3>("m_rewardScale");

		public Achievement m_quest => method_3<Achievement>("m_quest");

		public object m_onCloseCallbackData => method_3<object>("m_onCloseCallbackData");

		public List<RewardData> m_toastRewards => method_3<Class271<RewardData>>("m_toastRewards")?.method_25();

		public string m_toastName => method_4("m_toastName");

		public string m_toastDescription => method_4("m_toastDescription");

		public static bool m_showFullscreenEffects => MonoClass.smethod_6<bool>(TritonHs.MainAssemblyPath, "", "QuestToast", "m_showFullscreenEffects");

		public static bool m_questActive => MonoClass.smethod_6<bool>(TritonHs.MainAssemblyPath, "", "QuestToast", "m_questActive");

		public static QuestToast m_activeQuest => MonoClass.smethod_7<QuestToast>(TritonHs.MainAssemblyPath, "", "QuestToast", "m_activeQuest");

		public QuestToast(IntPtr address, string className)
			: base(address, className)
		{
		}

		public QuestToast(IntPtr address)
			: this(address, "QuestToast")
		{
		}

		public static void PositionActor(AssetReference assetRef, GameObject go, object callbackData)
		{
			MonoClass.smethod_18(TritonHs.MainAssemblyPath, "", "QuestToast", "PositionActor", assetRef, go, callbackData);
		}

		public static bool IsQuestActive()
		{
			return MonoClass.smethod_14<bool>(TritonHs.MainAssemblyPath, "", "QuestToast", "IsQuestActive", Array.Empty<object>());
		}

		public static QuestToast GetCurrentToast()
		{
			return MonoClass.smethod_15<QuestToast>(TritonHs.MainAssemblyPath, "", "QuestToast", "GetCurrentToast", Array.Empty<object>());
		}

		public void Awake()
		{
			method_8("Awake");
		}

		public void OnDestroy()
		{
			method_8("OnDestroy");
		}

		public void CloseQuestToast(UIEvent e)
		{
			method_9("CloseQuestToast", new Class276.Enum20[1] { Class276.Enum20.Class }, e);
		}

		public void CloseQuestToast()
		{
			method_9("CloseQuestToast", new Class276.Enum20[0]);
		}

		public void DestroyQuestToast()
		{
			method_8("DestroyQuestToast");
		}

		public void SetUpToast(bool updateCacheValues)
		{
			method_8("SetUpToast", updateCacheValues);
		}

		public void RewardObjectLoaded(Reward reward, object callbackData)
		{
			method_8("RewardObjectLoaded", reward, callbackData);
		}

		public void FadeEffectsIn()
		{
			method_8("FadeEffectsIn");
		}

		public void FadeEffectsOut()
		{
			method_8("FadeEffectsOut");
		}
	}
}
